package com.jumi.microservice.yzhpay.constant;

import com.jumi.microservice.common.base.dto.AbstractEnum;

/**
 * @author scw
 * @date 2020/11/14
 */
public enum YzhPayStatusEnum implements AbstractEnum {
    /**
     * 订单状态码（status）
     */
    YZH_PAY_STATUS_DEL("-1", "删除"),//只有通过web⻚⾯打款的情况才会出现（最终状态，不会回调），api接⼝打款不会出
    YZH_PAY_STATUS_ACCEPT("0", "已受理"),//⽀付订单接收成功，尚未处理（中间状态，不会回调）
    YZH_PAY_STATUS_SUCCESS("1", "已打款"),//订单提交到⽀付⽹关成功（中间状态，会回调）
    YZH_PAY_STATUS_FAIL("2", "打款失败"),//主要表示订单数据校验不通过（最终状态，会回调）
    YZH_PAY_STATUS_WAIT_PAUSE("4", "待打款(暂停处理) "),//暂停处理，满⾜条件后会继续⽀付，例如账户余额不⾜，充值后可以继续打款（中间状态，会回调）
    YZH_PAY_STATUS_PROCESS("5", "打款中(状态未知) "),//调⽤⽀付⽹关超时等状态异常情况导致，处于等待交易查证的中间状态（中间状态，不会回调）
    YZH_PAY_STATUS_WAIT("8", "待打款"),//订单税务筹划完毕，等待执⾏打款的状态（中间状态，不会回调）
    YZH_PAY_STATUS_FAIL_OTHER("9", "打款失败（已退款，退汇或者冲正) "),//⽀付被退回（最终状态，会回调）
    YZH_PAY_STATUS_CANCEL("15", "取消⽀付");//表示待打款(暂停处理)订单数据被商户主动取消（最终状态，会回调）

    private String code;
    private String desc;

    YzhPayStatusEnum(String code, String desc) {
        this.code = code;
        this.desc = desc;
    }

    @Override
    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public String getDesc() {
        return desc;
    }

    public void setDesc(String desc) {
        this.desc = desc;
    }
}

